package com.pai4j.zwiki.repository;

import com.pai4j.zwiki.domain.entity.CodeStructureEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 代码结构数据访问层
 *
 * @author pai4j
 * @since 2025-10-12
 */
@Repository
public interface CodeStructureRepository extends JpaRepository<CodeStructureEntity, Long> {

    /**
     * 通过任务ID查找所有代码结构
     */
    List<CodeStructureEntity> findByTaskId(String taskId);

    /**
     * 通过任务ID和结构类型查找
     */
    List<CodeStructureEntity> findByTaskIdAndStructureType(String taskId, String structureType);

    /**
     * 通过任务ID和包名查找
     */
    List<CodeStructureEntity> findByTaskIdAndPackageName(String taskId, String packageName);

    /**
     * 删除指定任务的所有代码结构
     */
    void deleteByTaskId(String taskId);
}

